home *** CD-ROM | disk | FTP | other *** search
/ HTBasic 9.3 / HTBasic 9.3.iso / LgcyPlus / disk2 / EMCHILD._ / EMCHILD.
Encoding:
Text File  |  2001-03-02  |  3.2 KB  |  67 lines

  1. 10    ! *********************************************************
  2. 20    ! Example: Engine Monitor - Child PANEL
  3. 30    !
  4. 40    ! This program creates a simulated engine monitor display
  5. 50    ! that shows Torque, Pressure, Dwell, Timing, and RPM for
  6. 60    ! a theoretical engine. A status log for updated values is
  7. 70    ! also included.
  8. 80    !
  9. 90    ! *********************************************************
  10. 100   !
  11. 110   DIM Buf$[200]
  12. 120   !
  13. 130   ! Create the main panel widget
  14. 140   !
  15. 150   ASSIGN @Panel TO WIDGET "PANEL";SET ("X":100,"Y":30,"WIDTH":400,"HEIGHT":320,"TITLE":" Example: Engine Monitor - Child PANEL","MAXIMIZABLE":1)
  16. 160   CONTROL @Panel;SET ("SYSTEM MENU":"Quit")
  17. 170   ON EVENT @Panel,"SYSTEM MENU" GOTO Finis
  18. 180   !
  19. 190   ASSIGN @M1lbl TO WIDGET "LABEL";SET ("X":5,"Y":5,"WIDTH":90,"HEIGHT":20,"VALUE":"Torque","BORDER":0),PARENT @Panel
  20. 200   ASSIGN @Meter1 TO WIDGET "METER";SET ("X":5,"Y":25,"WIDTH":90,"HEIGHT":160,"ARC WIDTH":3,"ORIENTATION":"RIGHT","SHOW LIMITS":0),PARENT @Panel
  21. 210   !
  22. 220   ASSIGN @B2lbl TO WIDGET "LABEL";SET ("X":125,"Y":5,"WIDTH":80,"HEIGHT":20,"VALUE":"Pressure","BORDER":0),PARENT @Panel
  23. 230   ASSIGN @Bar2 TO WIDGET "BAR";SET ("X":130,"Y":25,"WIDTH":60,"HEIGHT":100),PARENT @Panel
  24. 240   ASSIGN @B2dsp TO WIDGET "LABEL";SET ("X":130,"Y":125,"WIDTH":60,"HEIGHT":20,"BORDER":0),PARENT @Panel
  25. 250   !
  26. 260   ! Create a child PANEL that contains a bank of engine measurements
  27. 270   !
  28. 280   ASSIGN @Subpanel TO WIDGET "PANEL";PARENT @Panel,SET ("X":260,"Y":5,"WIDTH":95,"HEIGHT":145)
  29. 290   !
  30. 300   ASSIGN @Lbl1 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":0,"WIDTH":75,"HEIGHT":20,"BORDER":0,"VALUE":"Dwell")
  31. 310   ASSIGN @Disp1 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":20,"WIDTH":75,"HEIGHT":20)
  32. 320   !
  33. 330   ASSIGN @Label2 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":50,"WIDTH":75,"HEIGHT":20,"BORDER":0,"VALUE":"Timing")
  34. 340   ASSIGN @Disp2 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":70,"WIDTH":75,"HEIGHT":20)
  35. 350   !
  36. 360   ASSIGN @Label3 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":100,"WIDTH":75,"HEIGHT":20,"BORDER":0,"VALUE":"RPM")
  37. 370   ASSIGN @Disp3 TO WIDGET "LABEL";PARENT @Subpanel,SET ("X":10,"Y":120,"WIDTH":75,"HEIGHT":20)
  38. 380   !
  39. 390   ASSIGN @Lbl TO WIDGET "LABEL";SET ("X":130,"Y":150,"WIDTH":240,"HEIGHT":20,"VALUE":"Status Log","BORDER":0),PARENT @Panel
  40. 400   ASSIGN @Text TO WIDGET "PRINTER";SET ("X":130,"Y":170,"WIDTH":240,"HEIGHT":100),PARENT @Panel
  41. 410   !
  42. 420   Value=50
  43. 430   Siz=15
  44. 440 Loop_val: !
  45. 450   FOR I=1 TO 10000
  46. 460     IF Value<25 OR Value>=85 THEN Value=50
  47. 470     Torq=INT(Value+Siz*RND)
  48. 480     Pres=INT(Value+Siz*RND)
  49. 490     Dwell=INT(Value+Siz*RND)
  50. 500     Timing=INT(Value+Siz*RND)
  51. 510     Rpm=INT(Value+Siz*RND)
  52. 520     Value=INT(Value+Siz*(RND-.5))
  53. 530     !
  54. 540     CONTROL @Meter1;SET ("VALUE":Torq)
  55. 550     CONTROL @Bar2;SET ("VALUE":Pres)
  56. 560     CONTROL @B2dsp;SET ("VALUE":Pres)
  57. 570     CONTROL @Disp1;SET ("VALUE":Dwell)
  58. 580     CONTROL @Disp2;SET ("VALUE":Timing)
  59. 590     CONTROL @Disp3;SET ("VALUE":Rpm)
  60. 600     !
  61. 610     OUTPUT Buf$ USING "#,K,DDDD,3X,DDD,DDD,DDD";"Update #";I,Torq,Pres,Dwell
  62. 620     CONTROL @Text;SET ("APPEND TEXT":Buf$)
  63. 630   NEXT I
  64. 640   GOTO Loop_val
  65. 650   STOP
  66. 660 Finis: END
  67.